#pragma once
class BaseDrawShape
{
public:
	BaseDrawShape();
	~BaseDrawShape();
	virtual void prepareInitData() {}
	virtual void renderPrepare();
	void cleanUpShader();
	class RawModel* getRawModel() { return this->m_RawModel; }
	class ShaderProgram* getShaderProgram() { return this->m_ShaderProgram; }
	virtual void renderLoop(){}
	virtual void getAllUniformLocation() {}
	virtual void processKeyPressEvent(class DisplayManager& displayManager) {}
protected:
	class RawModel* m_RawModel;
	class ShaderProgram* m_ShaderProgram;
	class ShaderProgram* m_LightShaderProgram;

};